const fp = require('lodash/fp')
// 以下是答案：
const cars = [{
		name: 'Ferrari FF',
		horsepower: 660,
		dollar_value: 700000,
		in_stock: true
	},
	{
		name: 'Spyker C12 Zagato',
		horsepower: 650,
		dollar_value: 648000,
		in_stock: false
	},
	{
		name: 'Jaguar XKR-S',
		horsepower: 550,
		dollar_value: 132000,
		in_stock: false
	},
	{
		name: 'Audi R8',
		horsepower: 625,
		dollar_value: 114200,
		in_stock: false
	},
	{
		name: 'Aston Martin One-7',
		horsepower: 750,
		dollar_value: 1850000,
		in_stock: true
	},
	{
		name: 'Pagani Huayara',
		horsepower: 700,
		dollar_value: 1300000,
		in_stock: true
	}
]

//练习一
function isLastInStock(arr) {
	return fp.flowRight(fp.prop('in_stock'), fp.last)(arr);
}

console.log(isLastInStock(cars)) // 最终返回 true

//练习二
let firstName = (arr) => fp.flowRight(fp.prop('name'), fp.first)(arr);
console.log(firstName(cars))

//练习三
let averageDollarValue = (arr) => {
	let a = fp.flowRight(fp.divide, fp.flowRight(fp.reduce(fp.add, 0), fp.map(fp.prop('dollar_value'))))(arr);
	return a(arr.length);
}
console.log(averageDollarValue(cars))

//练习四

let _underscore = fp.replace(/\W+/g, '_') // <--无须改动

let sanitizeNames = (arr) => {
	return fp.flowRight(_underscore)(arr);
}
console.log(sanitizeNames(["Hello World"]))
